package com.it.test;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class Demo1 {
    public static void main(String[] args) throws Exception {
        // 目标：有100份礼品，小红，小明两人同时发送，当剩下的礼品小于10份的时候则不再送出
        // 利用多线程模拟该过程并将线程的名称打印出来。并最后在控制柜台分别打印小红，小明各自送出多少份礼物

        // 1.拿100份礼物到程序中
        List<String> gift = new ArrayList<>();
        String[] names = {"口红", "包装", "花朵", "刀子", "皮子", "手表"};
        Random r = new Random();
        for (int i = 0; i < 100; i++) {
            gift.add(names[r.nextInt(names.length)] + (i + 1));
        }
        System.out.println(gift);

        // 2、定义线程类，创建线程对象，去集合中拿礼物给别人
        SendThread xm = new SendThread(gift, "小明");
        xm.start();

        SendThread xh = new SendThread(gift, "小红");
        xh.start();

        // 当主线程运行到join后，主线程要等上面的xm和xh运行完成
        xm.join();
        xh.join();

        System.out.println(xm.getCount());
        System.out.println(xh.getCount());
    }
}
